from PyQt6.QtWidgets import QVBoxLayout, QLabel
from .base_page import BasePage

class ChatPage(BasePage):
    def __init__(self):
        super().__init__()  # 这会创建 self.main_layout
        self.message_history = []  # 用于存储消息历史
        self.set_title("GPT对话")
        self.init_ui()
    
    def init_ui(self):
        # 直接使用从 BasePage 继承的 main_layout
        self.main_layout.addWidget(QLabel("GPT对话页面")) 
    
    def add_message(self, message, is_user=True):
        # 保存消息到历史记录
        self.message_history.append({
            'message': message,
            'is_user': is_user
        })
        # ... 其他添加消息的代码 ...
    
    def undo_last_message(self):
        if self.message_history:
            # 移除最后一条消息
            self.message_history.pop()
            # 重新显示所有消息
            self.refresh_messages()
    
    def refresh_messages(self):
        # 清除所有现有消息
        for i in reversed(range(self.messages_layout.count())):
            self.messages_layout.itemAt(i).widget().setParent(None)
        
        # 重新显示所有消息
        for msg in self.message_history:
            self.add_message(msg['message'], msg['is_user']) 